package handler

import (
	"fmt"
	"github.com/gin-gonic/gin"
	"go-web-demo/biz/user/domain/req"
	"go-web-demo/biz/user/domain/service"
	"net/http"
)

type UserHandler struct {
	userService service.UserService
}

func NewUserHandler() *UserHandler {
	return &UserHandler{
		userService: &service.UserServiceImpl{},
	}
}

// 查询用户
func (handler UserHandler) FindUser(ctx *gin.Context) {
	// 使用 ctx.Query 的方式获取 requestParams 的参数
	userId := ctx.Query("userId")
	user := handler.userService.FindUser(userId)
	fmt.Println("user:", user)
}

// 注册用户
func (handler UserHandler) Register() gin.HandlerFunc {
	return func(ctx *gin.Context) {
		var payRequest req.UserRequest
		if err := ctx.ShouldBindJSON(&payRequest); err != nil {
			ctx.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
			return
		}
		// 注册
		handler.userService.Registry(payRequest)
	}
}

func (handler UserHandler) GetUser(ctx *gin.Context) {
	// 使用 ctx.Param 的方式获取路径参数
	gameId := ctx.Param("userId")
	fmt.Println(gameId)
}
